#include <bits/stdc++.h>
#define int long long
using namespace std;

const int maxn=5e3+10;
string s;
int dp[maxn][maxn]; // 区间DP 1 表示< 0 等于 -1 > 

void solve(){
	cin>>s;
	int len=s.length();
	int ans=0;
	for(int center=0;center<len;center++){ // 中心轴
		// 偶数个
		int l=center, r=center+1;
		bool flag=false;
		while(l>=0&&r<len){
			if(s[r]<s[l]){
				flag=true;
			} else if(s[r]>s[l]){
				flag=false;
			}
			// 相等时, 不用动, 还是使用前面的小区间即可
			ans+=flag;
			l--, r++;	
		}
		// 奇数个
		l=center-1, r=center+1;
		flag=false;
		while(l>=0&&r<len){
			if(s[r]<s[l]){
				flag=true;
			} else if(s[r]>s[l]){
				flag=false;
			}
			// 相等时, 不用动, 还是使用前面的小区间的 标记即可
			ans+=flag;
			l--, r++;
		}
	}
	cout<<ans<<'\n';
}



signed main(){
	ios::sync_with_stdio(0), cin.tie(0), cout.tie(0);
	solve();
	return 0;
	
}
